#ifndef AUDIO_PROCESSOR_H
#define AUDIO_PROCESSOR_H

#include <esp_types.h>
#include "esp_afe_sr_models.h"

void audio_processor_init(void);

void audio_processor_start(void);

/**
 * @brief 读取经过处理的音频数据
 * 
 * @param size_p 返回读取长度
 * @return void* 返回的缓存指针，使用完成后需要free
 */
void *audio_processor_read(size_t *size_p);

void audio_processor_write(void *buf, size_t size);

void audio_processor_set_wakenet_callback(void (*callback)(void *), void *arg);

void audio_processor_set_vad_callback(void (*callback)(void *, vad_state_t vad_state), void *arg);

void audio_processor_reset_wakenet();

#endif